package com.gopay.remote.bank;

import com.gopay.common.Result;
import com.gopay.common.domain.bank.wechat.scan.cmbc.FileDownReq;
import com.gopay.common.exception.GopayException;

/**
 *  扫码支付商户服务业务接口
 * @date 2016-11-21
 * @author jxj
 */
public interface ScanPayMerchantService{
	
	/**
	 * 商户入驻
	 * @param msg 请求对象
	 * @return Result
	 * @throws com.gopay.common.exception.GopayException
	 */
	public Result merchantSettled(Object msg) throws GopayException;
	
	/**
	 * 商户查询
	 * @param msg 请求对象
	 * @return Result
	 * @throws com.gopay.common.exception.GopayException
	 */
	public Result merchantQuery(Object msg) throws GopayException;
	
	/**
	 * 商户修改
	 * @param msg 请求对象
	 * @return Result
	 * @throws com.gopay.common.exception.GopayException
	 */
	public Result merchantModify(Object msg) throws GopayException;
	
	/**
	 * 获取对账文件
	 * @param date 对账日期
	 * @param fileType 文件类型： 1-响应流，2-文件链接
	 * @return Result
	 * @throws com.gopay.common.exception.GopayException
	 */
	public Result getCheckAccountFile(FileDownReq obj) throws GopayException;
	/**
	 * 
	 * 功能描述：获取支付宝对账文件，民生合作渠道不一样
	 *
	 * @param date
	 * @param fileType
	 * @return
	 * @throws GopayException
	 */
	public Result getCheckAlipayAccountFile(FileDownReq obj) throws GopayException;
	/**
	 * 
	 * 功能描述：商户微信公众号配置及授权目录配置
	 *
	 * @param msg
	 * @return
	 * @throws GopayException
	 * 
	 * @author 宣广海
	 *
	 * @since 2017年7月19日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	Result merchantOperation(Object msg) throws GopayException;
	/**
	 * 
	 * 功能描述：商户微信公众号配置及授权目录配置结果查询接口
	 *
	 * @param msg
	 * @return
	 * @throws GopayException
	 * 
	 * @author 宣广海
	 *
	 * @since 2017年7月19日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	Result merchantOperationQuery(Object msg) throws GopayException;

}
